package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.vo.DAccidentVo;
import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.Result;
import cn.huiyunche.tools.basic.exceptions.BusinessException;

import java.util.Map;

public interface TmsDAccidentService {
    /**
     * 事故申报
     *
     * @param id
     * @param waybillId
     * @param description
     * @param picKeys
     * @return
     * @throws BusinessException
     */
    Result<Object> modify(Long id, Long waybillId, String description, String picKeys) throws Exception;

    /**
     * 事故申报历史
     *
     * @param pageVo
     * @return
     * @throws BusinessException
     */
    Result<Map<String, Object>> list(PageVo pageVo) throws Exception;

    /**
     * 查询申报记录
     *
     * @param waybillId
     * @return
     * @throws BusinessException
     */
    Result<DAccidentVo> selectDAccident(Long waybillId) throws Exception;

    /**
     * 事故申报历史-后台管理使用
     *
     * @param pageVo
     * @param orderCode
     * @return
     * @throws BusinessException
     */
    Result<Map<String, Object>> listAdmin(PageVo pageVo, String orderCode) throws Exception;

    /**
     * 事故审核
     *
     * @param id
     * @param status
     * @return
     * @throws BusinessException
     */
    Result<Object> auditAccident(Long id, int status) throws Exception;
}
